< previous page page_211 next page >

Page 211
used to copy data back into the RasEntryBuffer array. The final program looks like this:
' RasTest #1
' Copyright © 1998 by Desaware Inc. All Rights Reserved

Option Explicit

Private Declare Function RasEntryToMemBuffer Lib "kernel32" Alias _
"RtlMoveMemory" (dest As Byte, source As RASENTRYNAME, _
ByVal count As Long) As Long
Private Declare Function RasEntryFromMemBuffer Lib "kernel32" _
Alias "RtlMoveMemory" (dest As RASENTRYNAME, source As Byte, _
ByVal count As Long) As Long

Private Sub Form_Load()
   Dim BufferSize As Long
   Dim RasEntries As Long
   Dim RasEntryBuffer() As RASENTRYNAME
   Dim RasEntrySize As Long
   Dim Res As Long
   Dim CurrentEntry As Integer
   Dim RasEntryCount As Long
   Dim TransferBuffer() As Byte

   ReDim RasEntryBuffer(0)
   RasEntrySize = Len(RasEntryBuffer(0))
   RasEntryBuffer(0).dwSize = RasEntrySize

   Res = RasEnumEntries(0, vbNullString, VarPtr(RasEntryBuffer(0)), _
         BufferSize, RasEntries)

   ' Now, redo based on the number of entries
   If (Res = 0 Or Res = 603) And BufferSize > 0 Then
      RasEntryCount = BufferSize / RasEntrySize
      ReDim RasEntryBuffer(RasEntryCount- 1 )
      ReDim TransferBuffer(BufferSize)
      For CurrentEntry = 0 To RasEntryCount - 1
         RasEntryBuffer(CurrentEntry).dwSize = RasEntrySize
         Call RasEntryToMemBuffer(TransferBuffer(CurrentEntry * _
         RasEntrySize), RasEntryBuffer(CurrentEntry), RasEntrySize)
      Next CurrentEntry
      Res = RasEnumEntries(0, vbNullString, VarPtr(TransferBuffer(0)), _

 
< previous page page_211 next page >